// axios

import axios from 'axios'
import { Toast } from 'vant'
// import { message } from 'koa/lib/response'

const request = axios.create({
  // 接口地址 :  根地址(域名) + 路由
  baseURL: 'https://apifoxmock.com/m1/4837988-0-default',
  timeout: 10000
})

// 拦截器

// 请求拦截器   发出去之前 要做的事儿
request.interceptors.request.use((config) => {
  console.log('请求拦截器.......')
  // 没有异常的时候
  return config
}, (error) => {
  // 请求出现了异常  异步
  return Promise.reject(error)
})

// 响应拦截器   后端给你响应了 , 这里先接收到 , 做要做的处理, 再放行到具体页面
request.interceptors.response.use((response) => {
  // 先解析一下数据 的公共层
  // [{data:[],[],[]}]
  // return response[0] // data

  return response.data
}, (error) => {
  // error 信息提取出来 , 由响应拦截起统一处理异常
  // if (error.response) {
  error.response = { data: { message: '后端给出的理由' } }
  if (error.response) {
    console.log('响应拦截器')
    // 有错误响应 , 显示错误提示
    Toast.fail(error.response.data.message)
  }
  // 请求出现了异常  异步
  return Promise.reject(error)
})

export default request
